package hl.leco.colle.set;

import java.util.Comparator;
import java.util.TreeSet;

/**
 * TreeSet 的基本使用，使用 Person 类型
 * 使用 Comparotor 定制比较器
 * 存储结构：红黑树（一种二叉查找树，需要实现 Comparable 接口，或者定义的时候传入 Comparotor 比较器）
 * @author Liu Huan
 */


public class Demo6 {
	public static void main(String[] args) {
		
		//0、创建 TreeSet 集合
		TreeSet<Person> treeSet = new TreeSet<>(new Comparator<Person>() {
			@Override
			public int compare(Person o1, Person o2) {
				int n1 = o1.getAge() - o2.getAge();
				int n2 = o1.getName().compareTo(o2.getName());
				return n1==0?n2:n1;
			}
		});
		//1、添加元素
		Person p1 = new Person("刘德华", 22);
		Person p2 = new Person("周润发", 25);
		Person p3 = new Person("梁朝伟", 18);
		treeSet.add(p1);
		treeSet.add(p2);
		treeSet.add(p3);
		System.out.println("元素个数：" + treeSet.size());
		System.out.println(treeSet);
		
	}
}
